/* Common Javascript Functions */


/////////////////////////// MISC FORM FUNCTIONS ////////////////////////////////

function NewWindow(mypage, myname, w, h, scroll) 
{
	win1 = (screen.width - w) / 2;
	wint = (screen.height - h) / 2;
	autoclose = true;
	winprops='height='+h+', width='+w+', top='+wint+', left='+win1+', scrollbars='+scroll+', resizable' 
	win = window.open(mypage, myname, winprops)
	if (parseInt(navigator.appVersion) >= 4 ) 
	{ 
		win.window.focus(); 
	}
}


//////////////////////// FIELD VALIDATION FUNCTIONS ////////////////////////
/* Check for blank or NA value */
var errmsg = "";

function v_blank(obj,ftype,navalue,errtxt) {
	if(!obj) {
		alert(errtxt);   // for debug only
	}
     if(ftype=="sel") {		// Selection field (dropdown)
         if(obj.selectedIndex < 1) {
         	  errmsg = errmsg + errtxt
         	  //tmp1 = tmp1+" "+errtxt;
              obj.style.background="#FFFAE1";
              return;
         }
     	else{
			obj.style.background="#FFF";
		}
     } else if(ftype=="sel2") {		// Selection field (dropdown)
         if(obj.selectedIndex < 0) {
              //tmp1 = tmp1+" "+errtxt;
              errmsg = errmsg + errtxt
			obj.style.background="#FFFAE1";              
              return;
         }
          else{
			obj.style.background="#FFF";
		}    
	} 	else if(obj.value == "" || obj.value == navalue) {
           	//tmp1 = tmp1+" "+errtxt;
           	errmsg = errmsg + errtxt
		 	obj.style.background="#FFFAE1";  
		 	return;         
	}  else {
			obj.style.background="#FFF";
		}
}

function v_email(obj, errtxt) {
	var checkString = obj.value;
	var re = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;
	if(!obj.value=="") {
		if(!checkString.match(re)) {
			errmsg = errmsg + errtxt;
            obj.style.background="#FFFAE1";              
              return;
         } else {
			obj.style.background="#FFF";
		}
	}
}

function v_invalid(obj, errtxt) {
	var checkString = obj.value;
	var re = /[^\w!?@,._'-+ ]/;
	if(!obj.value=="") {
		if(checkString.match(re)) {
			errmsg = errmsg + errtxt;
            obj.style.background="#FFFAE1";              
              return;
         } else {
			obj.style.background="#FFF";
		}
	}
}

/* Check for valid date/time */
function v_datetime(obj, errtxt) {
		var checkString = obj.value;
		var regExDate = "^[0-2][0-9]{3}/[0-1][0-9]/[0-3][0-9] ([0-1]?[0-9]|2[0-4]):([0-5][0-9])(:[0-5][0-9])?$";
		
		if(checkString.match("24:00")) { 
              errmsg = errmsg + "\n\n\nINVALID TIME entered for " + errtxt+" \n24:00 is not a valid time, please enter 00:00 to 23:59.";
			obj.style.background="#FFFAE1";              
              return;
         } else if(!checkString.match(regExDate)) {
              errmsg = errmsg + "\n\n\nINVALID DATE/TIME entered for " + errtxt+"\nPlease correct your data entry.";
			obj.style.background="#FFFAE1";              
              return;
         }
          else{
			obj.style.background="#fff";
		}

}

	
/* Check for numeric value */
function v_num(obj, errtxt)
{
    if(isNaN(obj.value) || obj.value.indexOf(".") >= 0 ) {
       errmsg = errmsg + "\n" + errtxt;       
    }
}

/* Check for radio button / checkbox value is not null */
function getradiovalue(obj) {
    if (!obj.length) return obj.checked;   // single option    
    for(ii = 0;ii<obj.length;ii++) {   // multiple value
       	if(obj[ii].checked) return obj[ii].value;
    	}    	
    //return false;
    return;
}    
     
/* Check for currency amount */
function v_amount(obj, validerrtxt, blankerrtxt)
{
    fmt1 = /^\d[\d,]*\.{1}\d{1}\d{1}$/i;
    fmt2 =/^\d\.{1}\d{1}\d{1}$/i;
    if(obj.value == "") 
       errmsg = errmsg + "\r" + blankerrtxt;     
    else if(!obj.value.match(fmt1) & !obj.value.match(fmt2))
       errmsg = errmsg + "\r" + validerrtxt;
}

//////////////////////// MISCELLANEOUS FUNCTIONS ////////////////////////

/* Links */
function jslink(srcviewid,urlcom,docunid) {
	var link=path+srcviewid+"/"+docunid+urlcom;
	location.replace(link);
}
/* 
//////////////////////// SOCIAL TOOLS FUNCTIONS ////////////////////////
window.addEvent('domready', function() {

	//Twitter JSONP request
	var myTwitterRequest = new Request.JSONP({
		url: 'http://twitter.com/statuses/user_timeline/pcis.json',
		data: {
			count: '3'
		},
		noCache: true,
		onComplete: function(myTweets) {
			var el = document.id('twitter-post');
			el.empty();
			myTweets.each(function(tweet) {
				var myElement = new Element('li',{
					html:  '<p>' + tweet.text + '</p>'
				}).injectInside('twitter-post');

			});
		}
	}).send();

	//Delicious JSONP request
	var myDeliciousRequest = new Request.JSONP({
		url: 'http://feeds.delicious.com/v2/json/username',
		data: {
			count: '3'
		},
		noCache: true,
		onComplete: function(myBookmarks) {
			var el = document.id('delicious-links');
			el.empty();
			myBookmarks.each(function(bookmark) {
				var myElement = new Element('li',{
					html:  '<a href="' + bookmark.u + '">' + bookmark.d + '</a><p>' + bookmark.n + '</p>'
				}).injectInside('delicious-links');
			});
		}
	}).send();
});
 */